The invention relates to a multiprocessor computer system with distributed memory and an interprocessor communication mechanism, for operating as a parallel machine. Particular properties are:
contains up to 1000 processing elements(nodes), or even more, PA0 connected via a message switching network (not fully connected), PA0 the network will transport a message from source to destination without processor intervention, PA0 only distributed memory, no shared memory, PA0 outside world communication via gateway(s), PA0 internal communication not restricted by standardized protocols. PA0 a. send a message m to process R: PA0 b. accept a message: PA0 1. in the sender node having a first local communication process, delivering the message by a sender process for thereupon addressing a second local communication process in the receiver node with a queuing request for queuing said message; PA0 2. in the second local communication process of the receiver node detecting the queuing request and inspecting a first local memory facility as to its availability or non-availability for storing said message; in case of said availability receiving and queuing said message to a local position of a waiting queue in said first local memory facility and signalling a receiver process of the receiving node arrival of said message and allowing said sender process to continue; but in case of said non-availability deferring said receiving thereby retaining said message in a second, non-local position of the waiting queue in a second local memory facility of the sender node and signaling the receiving process pendency of said message; while in either said availability or said non-availability signaling to a first applicable local communication process of the node containing a most recent pending message of the queue a link indication identifying the node containing its next successor message in the queue. PA0 3. in the receiver node by said receiver process after waiting for signalization of either said arrival or said pendency accessing a least recently activated message of the waiting queue and detecting whether it is local or non-local; in case of local dequeueing and accepting from said waiting queue the message therein for processing by said receiver process; in case of non-local, dequeueing the message and controlling the second applicable communication process of the node containing the least recent pending message of the queue for presenting the latter message and upon presentation accepting the message presented for processing by said receiver process while deactivating the message thus received from the queue; and after said processing reaccessing the queue until empty; PA0 4. in the receiver node after said accepting transmitting an acknowledge signal to the second applicable local communication process for allowing its nodes's sender process to continue. PA0 1. in the sender node having first local communication process means, sender process means for delivering a message, said sender node having addressing means for then addressing a second local communication process means in the receiver node with a queuing request for queuing said message; PA0 2. in said second communication process means first detecting means for detecting said queuing request cum inspection means for inspecting a first local memory facility of the receiver node as to its availability or non-availability for storing said message, local queuing control means fed by said inspection means for in case of said availability receiving and queuing said message to a local position of a waiting queue means in said first local memory facility and generating an arrival signal for said message to a receiver process means of said receiver node and sending an acknowledge signal to said sender node for allowing said sender process means to continue; non-local queueing control means fed by said inspection means for in case of said non-availability arresting and queueing said message to a non-local position of the waiting queue means in a second local memory facility of the sender node and generating a pendency signal with respect to the latter message to the receiver process means; and chaining means for under control of any output signal of said detecting means signalling to a first applicable local communication process means of any node containing the most recent preceding message of the queue a link indication signal identifying the node containing its next successor message in the queue; PA0 3. second detecting means in the receiver process means of said receiver node for after waiting for signalization of either said arrival or said pendency, accessing a least recently activated position of the waiting queue means and detecting whether it is local or non-local; first dequeueing means fed by said second detecting means for in case of local dequeueing and accepting from said waiting queue means, the message in said least recently activated position for processing in said receiver process means; second dequeueing means fed by said second detecting means for in case of non-local dequeueing the message in said least recently activated position and controlling a second applicable local communication process means of any node containing the least recent pending message of the queue for presenting the latter message, and upon said presenting accepting the message presented for processing by said receiver process means while deactivating the message thus received from the queue and after said processing reactivating said second detection means until the queue be empty; PA0 4. acknowledge means in the receiver node for after said accepting transmitting an acknowledge signal to the second applicable local communication process means for allowing its node's sender process means to continue.
All of the above terms are standard and no further definition is presented.